package com.jsejtman.gastos.persistence.entity;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;

/**
 * 
 * @author jsejtman
 *
 */
@Entity
@Table(name = "LUGARES")
public class Lugar implements Identifiable<Long> {

	/**
	 * Identificador.
	 */
	@Id
	@GeneratedValue(strategy = GenerationType.IDENTITY)
	@Column(name = "id")
	private Long id;
	/**
	 * Descripcion.
	 */
	@Column(name = "DESCRIPCION", unique = true, nullable = false)
	private String descripcion;
	/**
	 * Categoria.
	 */
	@ManyToOne
	@JoinColumn(name = "CATEGORIA_ID", nullable = false)
	private Categoria categoria;

	/**
	 * @return the id
	 */
	public final Long getId() {
		return this.id;
	}

	/**
	 * @param id
	 *            the id to set
	 */
	protected final void setId(final Long id) {
		this.id = id;
	}

	/**
	 * @return the descripcion
	 */
	public final String getDescripcion() {
		return this.descripcion;
	}

	/**
	 * @param descripcion
	 *            the descripcion to set
	 */
	public final void setDescripcion(final String descripcion) {
		this.descripcion = descripcion;
	}

	/**
	 * @return the categoria
	 */
	public final Categoria getCategoria() {
		return this.categoria;
	}

	/**
	 * @param categoria
	 *            the categoria to set
	 */
	protected final void setCategoria(final Categoria categoria) {
		this.categoria = categoria;
	}

}
